Op deze pagina vind je een demonstratie van een statistische techniek aan de hand van een voorbeeld.

Meer informatie over hoe je deze pagina kan gebruiken vind je in deze handleiding.

De analyse gebeurt met behulp van R en RStudio. Een inleiding tot deze software vind je hier.



1 Doel

Het is een goed idee om een dataset te verkennen, vooraleer je er allerlei statistische technieken op loslaat. R biedt een heel uitgebreid gamma aan functies om dat te doen.

De output van die functies dient vaak niet om te publiceren. Het is vooral de bedoeling om zelf meer inzicht te krijgen in de variabelen in je dataset en de samenhang tussen die variabelen.

Op deze pagina vind je hoe je de samenhang tussen 1 continue en 1 categorische variabele kan beschrijven en visueel voorstellen.



2 De dataset

De dataset enquete bevat gegevens van 14 variabelen geobserveerd bij 42 Amerikaanse studenten die een vak statistiek volgen.

Deze dataset kan je inladen met read.csv(). De data kan je best meteen in een object enquete onderbrengen zodat je die later makkelijk opnieuw kan oproepen.

enquete <- read.csv("https://statlas.ugent.be/datasets/enquete.csv")


Met str() krijg je een opsomming van alle variabelen in de dataset. Je vindt er ook telkens bij om welk datatype het gaat. Afhankelijk van het datatype zal je sommige functies wel of juist niet kunnen gebruiken om je data te verkennen. Het heeft bijvoorbeeld geen zin om een gemiddelde te berekenen van een variabele van type chr.

str(enquete) 
'data.frame':   42 obs. of  14 variables:
 $ X          : int  1 2 3 4 5 6 7 8 9 10 ...
 $ Section    : int  1 1 1 1 1 1 1 1 1 1 ...
 $ Class      : chr  "Senior" "Freshman" "Freshman" "Freshman" ...
 $ Sex        : chr  "F" "F" "F" "M" ...
 $ Distance   : int  400 450 3000 100 2000 500 1100 1000 400 450 ...
 $ Height     : int  62 61 61 72 69 73 60 71 70 75 ...
 $ Handedness : chr  "Right" "Left" "Right" "Right" ...
 $ Coins      : num  1.12 29 1.5 0.07 0.12 8 0.77 0 0 0 ...
 $ WhiteString: int  42 45 22 40 48 30 50 45 38 36 ...
 $ BlackString: int  6 5 4 4 7 8 0 6 0 12 ...
 $ Reading    : num  80 100 100 50 200 100 200 100 100 100 ...
 $ TV         : num  3 10 4 25 5 0 2 2 20 20 ...
 $ Pulse      : int  71 78 80 63 63 56 72 66 54 48 ...
 $ Texting    : int  3 100 2 200 100 1 50 30 40 25 ...


In de output van str() zie je inderdaad dat er 14 variabelen zijn met telkens 42 observaties.


Variabelen die je interesseren kan je hier eventueel al in een apart object opslaan.

geslacht <- enquete$Sex
tv <- enquete$TV

geslacht bevat het geslacht van de respondenten. Dat is een categorische variabele. tv geeft weer hoeveel uur de respondent gemiddeld naar tv kijkt per week en is hier de continue variabele.



3 Opgesplitste data

In R kan je eenvoudig de mediaan (of een andere centrummaat) opvragen van een variabele, opgedeeld volgens de verschillende niveaus van een andere, categorische variabele. Hieronder bijvoorbeeld vraag je de mediaan (FUN=median staat voor de functie die je wil toepassen) van de variabele tv opgedeeld volgens geslacht.

aggregate(tv ~ geslacht, FUN=median)
  geslacht tv
1        F  3
2        M  4


Met spreidingsmaten werkt het op dezelfde manier.

aggregate(tv ~ geslacht, FUN=sd)
  geslacht       tv
1        F 2.579615
2        M 6.587551


Het hoeft niet alleen om centrummaten of spreidingsmaten te gaan. Je kan bij het argument FUN= gelijk welke functie invoeren die op tv kan worden toegepast. Probeer eens met max() of length().



4 Meerdere boxplots

Een belangrijk onderdeel van het verkennen van data bestaat erin om een visuele voorstelling te maken van de data. Hier tonen we hoe je dat kan doen in het R-basispakket1.

Het is heel eenvoudig om meerdere boxplots naast elkaar te plaatsen. Met de code hieronder teken je een boxplot voor elk niveau van de variabele geslacht.

Net zoals bij andere figuren kan je een titel toevoegen aan de figuur en aan de assen.

boxplot(tv ~ geslacht,
        main="Boxplots van tv opgedeeld volgens geslacht",
        xlab="Geslacht",
        ylab="Gemiddeld aantal uur tv per week")


De plot blijft beschikbaar voor toevoegingen -zoals een legende, lijnen, vlakken of tekst- nadat de functie boxplot() is uitgevoerd. Dit kan bijvoorbeeld met de functies abline(), polygon() of text(). De plot blijft beschikbaar zolang je geen andere code uitvoert die niets met de plot zelf te maken heeft.



5 Voetnoten

  1. Er bestaan ook R-packages die speciaal ontworpen zijn voor datavisualisatie. Het meest gebruikte heet ‘ggplot2’.